#!/bin/bash
# export_tdengine.sh
# 导出一个 TDengine 一个数据库某一日的数据

# ./export_tdengine.sh iot_ts 20231010 /opt/ems/data/archive/iot_ts/iot_ts_20231010_data_properties_e_modbus_201000001.csv

set -x
set -e

# 限制只能在测试环境的主机上执行  
if [ "$(hostname)" != "ecs-377e-1103456" ];then
    echo "ERR: 【导入脚本】只能在【测试环境】运行，不能在生产环境运行!!!"
    exit 1  
fi

username=$1
password=$2
db=$3
table=$4
pk=$5
date=$6
file=$7

# 检查参数
if [ -z $username ]; then
  echo "ERR : 缺少参数：<数据库用户名>"
  usage
fi

# 检查参数
if [ -z $password ]; then
  echo "ERR : 缺少参数：<数据库密码>"
  usage
fi

# 检查参数
if [ -z $db ]; then
  echo "ERR : 缺少参数：<数据库名称>"
  usage
fi

# 检查参数
if [ -z $table ]; then
  echo "ERR : 缺少参数：<子表名称>"
  usage
fi

# 检查参数
if [ -z $pk ]; then
  echo "ERR : 缺少参数：<主键列名>"
  usage
fi

# 检查参数
if [ -z $date ]; then
  echo "ERR : 缺少参数：<日期>"
  usage
fi

# 检查参数
if [ -z $file ]; then
  echo "ERR : 缺少参数：<导出文件位置>"
  usage
fi

st="${date} 00:00:00.000"
et="${date} 23:59:59.999"

taos -u $username -p${password} -s "select * from ${db}.${table} where ${pk} >= '${st}' and ${pk} <= '${et}' order by ${pk} >> ${file}"
